#include "Trafopoint.h"
#include "Matrizen.h"	

void TrafoPoint (double p1_v[], double p1_n[], double winkel,
  double drehpunkt[], double shiftpunkt[])
{
   double punkt1[3];
   double punkt1_t[3];
   double punkt1_r[3];
   double punkt1_s[3];
   double matrix[3][3];

   punkt1[0] = p1_v[0];   
   punkt1[1] = p1_v[1];   
   punkt1[2] = 1;         


   tramatxy (-drehpunkt[0], -drehpunkt[1], matrix);			// Translation in den Nullpunkt
   matvek(matrix, punkt1, punkt1_t);

   rotmatxy (winkel, matrix);								// Rotation im Nullpunkt
   matvek(matrix, punkt1_t, punkt1_r);




   tramatxy (drehpunkt[0]+shiftpunkt[0], drehpunkt[1]+shiftpunkt[1], matrix);          
   matvek(matrix, punkt1_r, punkt1_s);		 // Ruecktranslation + Translation zum gewünschten Punkt
   p1_n[0] = punkt1_s[0];
   p1_n[1] = punkt1_s[1];

   //p1_n = punkt1_s;
}
